perm filename S2.PUB[D,LES]5 blob sn#407414 filedate 1979-01-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00008 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	.device xgp
C00004 00003	.every heading()
C00006 00004	.s Summary
C00009 00005	.s Goals
C00016 00006	.app Personnel
C00029 00007	.app Data Communications Equipment Needed 
C00033 00008	.next page app Budget
C00055 ENDMK
C⊗;
.device xgp
.if xcribl then start "xgp"
.require "bask.pub[sub,sys]" source_file;
.font 5 "metlb"; font 6 "metmb";
.font 7 "gacl25";
. end "xgp";
.sides←1;
.require "twocol.pub[sub,sys]" source_file;
.macro sskip	⊂skip(if lines<15 then 200 else 2)⊃;	<< section skip control >>
.macro appskip	⊂skip 200⊃;		<< appendix skip >>
.if ¬xcribl then start "tty"
.    page frame 52 high 72 wide;
.    title area heading lines 1 to 3
.    area text lines 4 to 52;
.    end "tty";
.
.MACRO BC ⊂ BEGIN PREFACE 0; INDENT 1,4; CRBREAK nojust ⊃
.
.MACRO BS ⊂ BEGIN PREFACE 0; INDENT 1,4; nojust ⊃
.
.MACRO IB ⊂ turn on "%";
.AT """" ⊂ (IF THISFONT=1 THEN "%3" ELSE "%1"); ⊃
.AT "<" ⊂ "%2" ⊃;  AT ">" ⊂ "%1" ⊃;
. ⊃

.MACRO BIB  ⊂  CB(References);
.	BEGIN INDENT 0,3; NOJUST; IB;
.	AT "AIM-" ⊂ "Stanford AI Memo AαIαMα-" ⊃;
.	COUNT exref TO 200
.	AT "⊗" ⊂ IF LINES<3 THEN NEXT COLUMN; NEXT EXREF; ("["&EXREF&"]  ") ⊃
.	⊃
.SECNAME←"";
.portion some; place text;
.every heading();
.onecol;
.begin "cover"
.center; select 6;
December 1978




Proposal to

%5University of California
Lawrence Livermore Laboratory%6

for 

%5Software Research and Development For the S-1 Project%6
.skip 2
John McCarthy, Professor of Computer Science
Forest Baskett, Associate Professor of Computer Science
Co-principal Investigators
.skip 10;
Abstract
.skip
.begin fill;
The Stanford Artificial Intelligence Laboratory proposes to continue
participation in the Lawrence Livermore Laboratory program for development
of S-1 computer systems.
This proposal covers a eight-month period beginning 1 February 1979.
.end
.skip 10
%5Computer Science Department
Stanford University
.end "cover"
.every heading(,"S-1 Proposal",{page});
.count page;
.if xcribl then twocol;
.s Summary
The Stanford Artificial Intelligence Laboratory proposes to continue
development work on the S1 computer system, as outlined in our proposal of
December 1977.
This proposal covers the remainder of Federal fiscal year 1979.

In the period April 1978 to the present, the following has been accomplished.
.begin indent 4,7; nojust
1.  Studies leading to the preliminary design of an operating system.

2.  Support programs have been developed as follows:
.begin preface 0; indent 7,10;crbreak
a.  S-1 simulator,
b.  Cross-assembler for S-1 code running on the PDP-10,
c.  S-1 debugger,
d.  PDP-10 simulator for the S-1,
e.  AN/UYK-7 simulator,
f.  Memory diagnostic,
g.  SUDS capability on the S-1 Mark I processor.
.end

3.  A set of numerical routines has been written and debugged for the S-1
(SQRT, SIN, COS, ATAN, LOG, EXP).

4.  Detailed design and layout of the memory Switch is well underway.
At this writing,
all data paths and about 90α% of the control logic have been designed.
Diagnostic hardware design is just beginning and physical layout
is yet to be done.

5.  Assistance has been provided in other S-1 hardware design work, mainly the
memory interface for the Mark I processor.
.end

Professor Forest Baskett has joined the project as Co-Principal Investigator
and will coordinate all project software efforts.  Professor John Hennessy
has also joined in this effort.  See Appendix A for details on their current
research interests.
.s Goals

The main thrust of the proposed extension is to develop
suitable language designs and processors to be used in
the specification of the operating system kernel.

The major components of this project are:

1) Complete the design of an extended version 
of the Pascal language to support the systems programming effort.
Continue to respond to new situations which occur in the actual 
construction of the operating system.

2) Implement the extended language using exisiting compilers
as a basis. 

3) Upgrade the exisiting Pascal compilers to 
be fully compatable with standard Pascal. This
is also required to support the optimizer under construction
by Professor Richard Sites and his group at UCSD.

4) Upgrade the P-code to S-1 Translator
(SOPA) to support full and extended Pascal. Changes are also necessary
to conform to new schemes being used in the code generator.

5) Implement intermodule-type checking, so that Pascal
and extended Pascal programs can be separately compiled by modules.
This will involve either upgrading the current linker or inserting
a prelinker pass to check type compatability.


.s Work Plan
.ss Programming Language Development

The programming language design work will go on largely in parallel.
The first step of specifying the Extended Pascal has been 
partially completed;
implementation of this design is expected to start very shortly.
A preliminary version of the Extended Language will be
available by July 1, 1979, and the final version of the compiler
will be delivered by September 30, 1979.
The upgrade of the language processors for Pascal will occur
in parallel with the new language implementation.  A complete
implementation for Pascal will be available by September 30, 1979.
Partially complete implementations which omit segments such as files
and passing of procedures as parameters will be available earlier (early Summer).
The modification to Pascal and the upgrade to provide
a full compiler will require additional support
for the P-code to S-1 translator.
Also, implementation of the P-code-to-P-code optimizer 
by the Sites group will require changes to the compilers
in order to support the optimizer.  These changes will 
be done as they appear during the
optimizer development.

Lastly, in order to effectively compile multi-module programs,
intermodule type checking must be supported.  At the present
time this problem has received only cursory attention.  The first
step is to specify a method for accomplishing the type checking.
This will result in completion of a proposed design for the intermodule
type checker by July 1, 1979.  The implementation will then proceed,
and be completed on September 30, 1979.

.app Personnel

While the primary interests of the Stanford Artificial Intelligence
Laboratory have been in artificial intelligence, mathematical
theory of computation, and related theoretical problems, certain members
of the SAIL staff have been involved for many years in the development of
timesharing systems, programming languages, and interactive facilities.
Some of these activities are outlined below.

The concept of a general purpose timesharing system was first proposed by
John McCarthy when he was at MIT [2].  That proposal led to the pioneering
systems developed in Project MAC.  McCarthy also participated in the
development of an early timesharing system at BBN [3].

Shortly after arriving at Stanford in 1962, McCarthy undertook the development
of the first display-oriented timesharing system [4], based on a PDP-1 computer
with 12 displays and a link to an IBM 7090.  One notable accomplishment of
this project was the development of a "page editor" called TVEDIT that
exploited the capabilities of displays in text editing.  This was the forerunner
of screen editors now in use at SAIL and in a number of other advanced timesharing
systems.

When the SAIL computer facility was assembled in 1966, the staff of the PDP-1
timesharing project became the nucleus of the computer system staff that
developed a display-oriented system on a DEC PDP-6 computer initially, and
later on KA10 and KL10 processors.
There are currently 70 display terminals connected to the system, most of
them with full graphics capability [5, 6].  There is also a connection to
the Arpanet, permitting remote access to and from hundreds of other
computers around the world.
In addition to providing conventional timesharing services, this system
handles realtime control of mechanical arms and television cameras, in
support of research in automatic mechanical assembly and computer vision [7].

In the period 1970-73, SAIL staff members designed a high speed processor
known as "Super Foonly", which featured a cache memory, user-accessible
microcode, and a "console computer" (a minicomputer that monitors the main
processor).  The latter innovation has since been included in a number of
other machines, including the S-1.
After the design was completed, it was made available to Digital Equipment
Corporation, which used it as the basis for their Decsystem/10 and Decsystem/20
computer systems.
The KL10 processor now at SAIL was donated by DEC out of gratitude for the
design contribution.

Another important outgrowth of this computer design project was a design
automation system known as SUDS [8], which combined interactive drawing
facilities with other computer-aided design services.
This was the first system that permitted a designer, working through a display
terminal, to completely design complex digital devices, including printed
circuit boards and backpanel wiring.
The system automatically produces artwork for PC boards and control tapes for
automatic wiring machines.
SUDS has been used to design five large computers so far, as well as
countless other digital devices.
It is currently in use at MIT, Carnegie-Mellon University, and
Digital Equipment Corporation, among other places, and is the front end of the
S-1 Design System.

Other interests of the SAIL staff include the development of
assemblers [9], the LISP family of programming languages and systems [10, 11, 12],
the SAIL language and compiler [13], text editors [14, 15], interactive
debuggers [16], document compilers [17], and computer communication systems [18].

The backgrounds of the individuals who will carry out the proposed work are
as follows.
John McCarthy, who will provide overall direction of the project,
is a Professor of Computer Science and Director of SAIL.
He has 26 years experience as a faculty
member at a number of major universities and has been a principal innovator
in artificial intelligence, mathematical theory of computation, and timesharing
systems.

Les Earnest, who is Associate Director of SAIL, will handle much of the
management of the project.  He has 24 years experience in programming, computer
system design and technical management.

Forest Baskett has been involved in operating system design and
development since 1962.  He worked with the Rice Computer and developed
parts of the Codeword-based operating system for that computer in the
early '60s.

He was one of the principal designers and implementers of one
of the earliest and best time-sharing systems on CDC 6600's, the UT
operating system at the University of Texas.  He was the principal
designer of DEMOS, a modern kernel-based, process-structured operating
system for the CRAY-1.  He has published numerous papers on computing
system design and development.

Professor John Hennessy's research interests include programming language
design and implementation, operating systems design, and distributed systems.
In the area of programming language design, he has designed a real-time
programming language, providing support for stand-alone systems.  Recently,
under S-1 funding, he has worked on the design of an extension of the
programming language Pascal, to support systems programming on the S-1.
He has also been involved in the design and maintenance of two Pascal compilers.
Currently, he is initiating work on the problems of software portability
and interactive, high-level language debuggers. 

Professor Hennessy is also conducting research on the topic of
distributed computing and its incorporation into a programming
language.  This research is based on the incorporation of message-passing
and synchronization capabilities into a standard process structure.
The goal is to provide simple tools to support the construction of reliable
distributed software systems.  This is important to the S-1 project, since it 
is reasonable to consider a message-passing system within the operating
system, as well as one available to the users.
.bib;
⊗  Tom McWilliams and Curt Widdoes, "The S-1 Memory Interface",
October 3, 1977.

⊗  John McCarthy, "A Time Sharing Operator Program for our Projected IBM 709",
memo to P. M. Morse, MIT, January 1, 1959.

⊗  John McCarthy, S. Boilen, E. Fredkin, J.C.R. Licklider, "A Time-sharing
Debugging System for a Small Computer", <Proc. AFIP Conf.> (SJCC), Vol. 23,
1963.

⊗  John McCarthy, D. Brian, G. Feldman, J. Allen, "THOR -- A Display Based
Time-sharing System", <Proc. AFIPS Conf.> (FJCC), Vol. 30, Thompson,
Washington, D.C., 1967.

⊗  Brian Harvey and Martin Frost, "Monitor Command Manual", SAILON-54.5,
January 1976.

⊗  McCarthy, John, Lester Earnest, D. Raj. Reddy, Pierre Vicens, "A
Computer with Hands, Eyes, and Ears", <Proc. AFIPS Conf.> (FJCC),
1968.

⊗  Martin Frost, "UUO Manual", SAILON-55.5, October 1977.

⊗  Richard Helliwell, "Stanford Drawing Program", SAIL Program Note, 1971.

⊗  Fred Wright and Ralph Gorin, "FAIL", AIM-226, April 1974.

⊗  John McCarthy, "Recursive Functions of Symbolic Expressions", <Communications
of the ACM>, April 1960.

⊗  John McCarthy, <et al, LISP 1.5 Programmer's Manual,>, MIT Press, 1962.

⊗  David C. Smith, "MLISP User's Manual", AIM-84, January 1969.

⊗  John Reiser (ed.), "SAIL", AIM-289, August 1976.

⊗  William Weiher and Steve Savitzky, "Son of Stopgap", SAILON-50.3, October 1970.

⊗  Arthur Samuel and Martin Frost, "E Text Editor", Program Note, December 1977.

⊗  Phil Petit, "RAID", SAILON-58.1, February 1970.

⊗  Larry Tesler, "PUB, the Document Compiler", SAILON-70, September 1970.

⊗  John McCarthy and Les Earnest, "DIALNET and the Home Terminal", <Proc.
Computer Faire>, San Francisco, 1977.

.end
.app Data Communications Equipment Needed 
In order to maximize the efficiency  of performance of the proposed  work,
it will  be  necessary  to  supplement  the  present  complement  of  data
communications available, in  the amount of  3 moderate bandwidth  display
terminals  (e.g.,   Datamedia   2500s)   with   built-in   or   associated
split-baud-rate  modems  suitable   for  use  with   existing  SAIL   data
communications equipment,  and 2  auto-answer split-baud-rate  modems  for
interfacing to the SAIL computer system.  This set of remote data terminal
communications gear will permit substantial portions of the proposed  work
to be  executed  on  the  Stanford campus,  remote  from  SAIL,  and  will
therefore markedly increase  the average work  efficiency of the  proposed
research through reduction of commuting overhead.

Provision of these items on loan from LLL to SAIL for the duration of  the
proposed work is  proposed, as it  is understood that  these items may  be
available at LLL in excess of present LLL needs; if this loan  arrangement
is less preferable to LLL than equipment purchase by SAIL, the Budget  for
the proposed work should be incremented  by an $8,400 item for "Permanent
Equipment" to cover the purchase cost of these equipments.
.next page; app Budget
.skip; once center
Eight months beginning 1 February 1979
.begin "bud"
.nofill
.turn on "α∂→\{"; tabs 32;
.			<< put commas in INCR and print it >>
.at "!" incr "∞"	⊂
.  if incr≤0 then sal←"" else sal←incr[∞-2 to ∞]; digs←incr/1000;
.  while("digs>0",|sal←digs[∞-2 to ∞]&","&sal; digs←digs/1000;|);
.  sal;
.  ⊃
.macro subtot	⊂
→_______
. ⊃
.macro percent(num)	⊂(((num+50)/100)&"α%")⊃;
.
.tot←0;		<< total costs >>
.
.		<< salary = semi*man_months*inflation_factor >>
.at "@" semi "," mo "." frac "∞"	⊂
. annual←(semi*(mo*10+frac)*1023+2500)/5000;	tot←tot+annual;
→mo.frac\ →!annual∞
. ⊃
.at "#" amt "∞"	⊂ val←amt; tot←tot+val;
→!val∞
.  ⊃

→%3Person\
→Months\
%3A. Salaries and Wages%1

   1. Senior Personnel:

      a. John McCarthy @1806,0.6∞
	 Prof. of Computer Science
	 5α% acad. yr., 10α% summer

      b. Forest Baskett @1278,2.5∞
	 Assoc. Prof. of C.S. & E.E.
	 25α% acad. yr., 40α% sum.

      c. Lester Earnest @1632,0.8∞
	 Senior Research Associate
	 10α%

   2. Other Personnel (full time except
      where specified otherwise):

      a. John Hennessey @972,2.2∞
	 Asst. Prof. of E.E.
	 20α% acad. yr., 40α% sum.

      b. Arthur Samuel @1500,4.0∞
	 Adjunct Prof. of C.S.
	 50α%

      c. Martin Frost @900,2.0∞
	 Systems Programmer
         25α%

      d. Mark Lebrun @750,8.0∞
	 Systems Programmer

      e. Armando Rodriguez @666,8.0∞
         Systems Programmer

      f. Hilding Elmquist @600,2.0∞
	 Systems Programmer, 25α%

      g. Student Res. Assist. @506,5.5∞
	 50α% acad. yr., 100α% sum.

      h. Support Personnel:

	 (1) Secretary (75α%) @480,6.0∞

	 (2) Elect. Tech. (25α%) @684,2.0∞
.subtot
      Total Salaries & Wages →!tot∞

%3B. Staff Benefits%1 #(tot*1976+5000)/10000∞
     19.5α% till 1 Sept.'79,
     21.6α% thereafter

%3C. Travel%1 (domestic) #3000∞

%3D. Other direct costs %1 #7000∞
     (e.g. telephone, publications,
     office supplies, copying,
     postage, computer repair services)

%3E. Indirect Costs%1 #(tot*58 +50)/100∞
     (58α% of A thru D)

.subtot
.tty←"Total="&tot;
%3G. Total Costs →!tot∞

.end "bud"